Controllers are widely employed on board vehicles for controlling vehicle systems that typically employ electrical powered loads. Examples of electrical powered loads include solenoids, relays and other various electrically powered devices. In a vehicle application, the controller may be an engine controller. Typically, the controller includes a microprocessor for executing routines stored in memory according to predetermined control logic. In order to drive a given load, the controller typically employs drive circuitry which, responsive to a microprocessor output signal, applies electrical power (i.e. voltage and current) to the load. The microprocessor is typically configured to drive multiple loads via multiple discrete driver circuits.
The conventional driver circuitry is discrete driver circuitry that may be configured in various circuit arrangements, depending upon the load and its intended application. The conventional discrete driver circuitry generally includes an input coupled to a first port of the microprocessor which is configured as an output. Additionally, the conventional discrete driver circuitry has an output coupled to a second port of the microprocessor which is configured as an input. The first port of the microprocessor outputs a control signal, which typically is high (1) for driving the load and a low (0) for turning the load off. The second port of the microprocessor is configured as an input to receive feedback signals from the discrete driver circuitry. The feedback signals are typically processed to determine whether or not a fault condition is present at the load side. Typical faults that are monitored through the feedback signals are (1) short to battery fault (2) short to ground fault and (3) open wiring harness fault at the load side.
In automotive applications, to provide a cost-effective controller, discrete driver circuits have been used for high side and low side driver applications to meet extra demand in output. The current strategy of using the discrete driver circuits for output drivers in the automotive application may result in some drawbacks. For example, the discrete driver circuit is typically required to be coupled to two microprocessor discrete input/output ports. Additionally, the conventional discrete driver circuit usually uses a large number of discrete components which adds to the overall cost and consumes volume on the circuit board. Further, the typical discrete driver circuit arrangement compromises the fault diagnostics in that most of the discrete solution does not offer full diagnostic capabilities that detect both open circuit and short circuit faults. The large number of components in the discrete driver circuitry reduces the reliability generally due to the higher component count and increases the labor and parts cost.
It is therefore desirable to provide for a controller that utilizes discrete circuitry to drive a load in a manner that is affordable and consumes less space on the circuit board. It is further desirable to provide for such a controller that requires fewer ports of the microprocessor to drive a load and effectively detects fault conditions including open circuit and short circuit fault conditions.